home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Collection of Tools & Utilities
/
Collection of Tools and Utilities.iso
/
turbovis
/
tvtoyc01.zip
/
README.TXT
< prev
next >
Wrap
Text File
|
1994-01-20
|
18KB
|
493 lines
TVToyc
Prerelease
January 1994
Far Niente Productions
Prerelease Information ▄
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
This is the current status of the TVToyc project, a port of the
TVToys (for Pascal) package. I dislike BC a lot, and I don't know
enough C or C++ to do this justice. Without your help, TVToyc will
be buried and forgotten for good, so try to improve it, volunteer to
port more code (it's dead boring, but very easy) or at least let me
know if you liked it.
Without user support this project is dead.
Contents ▄
▀▀▀▀▀▀▀▀▀▀▀▀▀
Introduction
Copyright
Short Description
Package File List
Instructions
Compatibility Testing
Coding Style
Protected Mode Information
Overlay Information
PC Video Modes
Video 7
The Improved Help File
Extended Video Mode Support Code
Credits
Author, Support, Info, Bugs etc
To Do List
Introduction ▄
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
Welcome to TVToyc!
This is a collection of useful stuff that should be available to all
Turbo Vision programmers. It is intended for Borland C++ 3.x with
Turbo Vision but the [font, palette] and video mode code can be used
in plain text mode without Turbo Vision.
THE SOURCE IS FREE AND COMES WITH NO WARRANTIES WHATSOEVER.
I hope that you will find this package useful. Have fun with it!
Copyright ▄
▀▀▀▀▀▀▀▀▀▀▀▀▀▀
You may use this package for free and pass it on to other persons as
long as you clearly state, in the header as well as in the code, all
changes made to the original code.
You may not pass along compiled versions of the source, except as
executable files.
You may also upload this package, unmodified, to bulletin boards or
other public access places.
There must be no charge associated with this package, though you may
include the unmodified package as a whole in shareware/freeware
compilations if only a nominal amount is charged for the compilation
disk.
I strongly urge people with money to spare to donate a small token
of appreciation in the $20 range. That's 5 campus meals for me.
Short Description ▄
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
This package includes:
An improved Help viewer with back tracking and the possibility to
add Contents and Index pages or whatever without recompiling
the help engine.
Extended video mode support. Code that determines what video modes
are available and presents a list for the user to choose from.
Video7 and VESA support included.
WHAT THIS PACKAGE COULD INCLUDE:
Custom fonts. Support for three different font file formats.
Palette routines. Change the EGA/VGA palette.
A mouse unit that limits the effects of buggy mouse drivers in
extended video modes.
Three demonstration programs, personal configuration files.
Package File List ▄
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
The package consists of the following files:
TEST.CPP Main test program
TEST.MAK Attempt at make file for TEST.CPP
HELP.H
HELP.CPP
HELPBASE.H
HELPBASE.CPP Improved HelpFile with back tracking and external commands
HELPCTX.H Help contexts generated by TVHC
HELPTEST.HLP Demo help text compiled with TVHC
HELPTEST.TXT The Help text source
VIDEO.H
VIDEO.CPP A unit supporting extended video mode setting and searching
MODEDLG.H
MODEDLG.CPP Dialog for presenting and selecting video modes
TVVIDEO.H
TVVIDEO.CPP TV support for all the new video modes
TOYCFG.H Your personal configuration file
VESA.H
VESA.CPP VESA support routines
README.TXT This text.
Instructions ▄
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
The demonstration program relies on the improved help code included
in this package, so you should make sure it gets used instead of
Turbo Vision's normal help engine.
The program called TEST is a very simple demonstration of the help
and the video mode detection. Run it for a quick demonstration.
If your mouse behaves oddly at times when running TEST, you need
NEWMOUSE, a not yet ported mouse remedy against bug ridden mouse
drivers.
The mouse cursor also jumps around when you change video modes, but
that's because the cursor stays at the same position relative to the
upper left corner.
Convention: Uppercase words are file names, like TEST and TOYCFG. A
"section" is a paragraph in this file, having the
section name for header.
Compatibility Testing ▄
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
This code has mainly been tested on three machines:
■ A 286 with with a Chips VGA card and an EGA monitor. Also tested
with a Video7 card which provided 132 column output on the EGA
monitor. No protected mode. First development machine.
■ An IBM PS/1 486/33 with Tseng VGA chips. VERY slow at scanning.
First protected mode attempts.
■ A Dual monitor Compaq 386 Portable with a Video7 VGA card and
Super VGA monitor. Current development platform.
I have tested three mouse drivers on the Video 7 equipped 386:
Microsoft Mouse driver version 8.20 and earlier does not work with
extended text modes, it assumes them to be graphics modes. All
Logitech mouse drivers should work with all text modes, I have only
tested version 6.20. Genius mouse driver version 10.20 does not
work, it doesn't realize what width the screen is. NewMouse fixes
all this, but if the mouse driver is buggy (like Genius) there might
be minor annoyances like the cursor jumping or temporarily
disappearing at mode switches. I suggest that you check what mouse
driver you are using, there are usually several on every hard disk.
I use Microsoft's driver version 8.20 even though it's buggy, but
you know what you get.
VESA compatibility was tested using a PD Video7 TSR on the 386.
UNIVESA.EXE by Kendall Bennett is NOT a full VESA implementation, it
focuses solely on graphics video modes and will not provide the
necessary information to avoid having to physically test every video
mode.
If you promptly have to use UNIVESA or UNIVBE release 4.2 or earlier
on a Video 7 video card, make sure you define V7UniVesaKludge, since
there is a Video 7 specific bug in UNIVESA. Future versions of
UNIVESA will probably not suffer from this.
Coding Style ▄
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
I'm a C++ novice, and the source is a Pascal port with some changes
on the way. If you have suggestions or even better rewritten code
I'll be happy to see it. I admit the current version could be a lot
better.
Protected Mode Information ▄
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
All the code has been tested in protected mode, especially the
Video7, Vesa and NewMouse code, but only in the Pascal version.
I have not ported the protected mode code since I lack information
on BC Dos extenders, and I don't have a Dos extender for BC++, so I
couldn't test it anyway. I've left the Pascal DPMI implementation if
you feel inclined.
Overlay Information ▄
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
You can overlay all units EXCEPT NewMouse, which contains an
interrupt handler. It's a very small unit anyway, about 530 bytes.
PC Video Modes ▄
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
Turbo Vision only knows about three video modes, and there is a
reason for that. These three are the only "standard" 80 column text
modes, all other video modes are manufacturer specific. All modes
are referred to by number, and the three Turbo Vision knows about
are number 2, 3 and 7. Numbers range from 0 to 127, where most of
the